kie-issues#2229: process codegen method split - #6879
Draft
alishaaaqil wants to merge 2 commits into
Draft
Conversation
…s (WIP) Transplants every method ProcessVisitor generates onto the process wrapper class instead of just the first (ProcessGenerator.addProcessMethods), threads the containing class into ProcessVisitor.visitProcess(), and splits process()'s single monolithic method into initVariables()/initMetadata()/ initNodes()/initConnections() so process() itself stays O(1) regardless of process size. Verified against the real repro-fails.bpmn / repro-control-passes.bpmn reproducer (apache/incubator-kie-issues#2229): Tier 1 alone is NOT sufficient - initNodes() still overflows the JVM 64KB per-method limit for both files once real BPMN diagram/metadata weight is included (not just the programmatically-built RuleFlowProcessFactory case, which is why ProcessCodeTooLargeReproducerTest currently fails - that is expected and intentional, it is the evidence that Tier 2 (chunking within initNodes(), statement-count-based per the metric comparison against apache#4176's rejected node-count approach) is required, not optional).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes apache/incubator-kie-issues#2229
This PR addresses the single oversized BPMN process scenario, where generation of an individual Process class exceeds the JVM 64 KB method bytecode limit (code too large).